package com.nengchuan.eic.nceconomy.fegin;

import com.eic.review.sdk.vo.IndividualProjectInfoVo;
import com.eic.review.sdk.vo.ProjectInfoVo;
import com.eic.review.sdk.vo.TechnoProjectInfoVo;
import com.eic.review.sdk.vo.TechnoProjectVo;
import com.nengchuan.eic.nceconomy.config.FeignConfiguration;
import com.nengchuan.eic.nceconomy.entity.vo.*;
import com.nengchuan.model.model.WrappedResult;
import com.nsc.boot.common.sdk.msg.ApiResult;
import com.nsc.boot.common.sdk.vo.IPage;
import com.nsc.boot.common.utils.page.PageQuery;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@FeignClient(value = "eic-review-service" ,path = "/review/foreign",configuration = FeignConfiguration.class)
public interface ProcessFeignTechnicalCassicsService {

	@ApiOperation("通过token获取用户关联的输变电工程")
	@GetMapping("/getProjectInfo")
	ApiResult<IPage<ProjectInfoVo>> getProjectInfo(@RequestParam("size")String size, @RequestParam("current")String current, @RequestParam("projectStage")String projectStage, @RequestParam("voltageGrade") String  voltage);

	@ApiOperation("通过输变电工程ID，获取单项工程信息")
	@GetMapping("/getIndividualProjectInfoVo/{projectId}")
	ApiResult<List<IndividualProjectInfoVo>> getIndividualProjectInfoVo(@PathVariable("projectId") Long projectId);


	@ApiOperation("技经获取项目基础信息")
	@GetMapping({"/getTechnoProjectInfo/{projectId}"})
	ApiResult<TechnoProjectInfoVo> getTechnoProjectInfo(@ApiParam("单项工程id") @PathVariable(name = "projectId",required = true) Long projectId);

	@ApiOperation("技经单位id以及单位类型，获取关联的输变电以及单项工程信息")
	@GetMapping({"/getTechnoProjectList"})
	ApiResult<IPage<TechnoProjectVO>> getTechnoProjectList(@RequestParam("size")long size, @RequestParam("current")long current, @ApiParam("单位类型：29：省公司 5：建管单位 32：设计单位 33：评审单位") @RequestParam("unitType") Integer unitType, @ApiParam("项目名称") @RequestParam(value = "projectName",required = false) String projectName, @ApiParam("单位id") @RequestParam("unitId") Long unitId, @ApiParam("ERP编码") @RequestParam(value = "erpNumber",required = false) String erpNumber, @ApiParam("ERP编码") @RequestParam(value = "projectStage",required = false) String projectStage);
}


